constructive algorithms greedy implementation math sortings

Please click on ads to support us..

Python Code:

import math

def solve():
    n=int(input())
    a=list(map(int,input().split()))
    idx=a.index(n)
    even=a[::2]
    odd=a[1::2]
        odd.sort()
    even.sort()
    d=dict()
    for i,x in enumerate(a):
        d[x]=i
    res=[None]*n
    if idx&1:
        t=n
        for x in odd:
            res[d[x]]=t
            t-=1
        for x in even:
            res[d[x]]=t
            t-=1
    else:
        t=n
        for x in even:
            res[d[x]]=t
            t-=1
        for x in odd:
            res[d[x]]=t
            t-=1
    print(*res)






T=int(input())
for _ in range(T):
    solve()


Comments

Submit
0 Comments
More Questions

1574C - Slay the Dragon
621A - Wet Shark and Odd and Even
1395A - Boboniu Likes to Color Balls
1637C - Andrew and Stones
1334B - Middle Class
260C - Balls and Boxes
1554A - Cherry
11B - Jumping Jack
716A - Crazy Computer
644A - Parliament of Berland
1657C - Bracket Sequence Deletion
1657B - XY Sequence
1009A - Game Shopping
1657A - Integer Moves
230B - T-primes
630A - Again Twenty Five
1234D - Distinct Characters Queries
1183A - Nearest Interesting Number
1009E - Intercity Travelling
1637B - MEX and Array
224A - Parallelepiped
964A - Splits
1615A - Closing The Gap
4C - Registration System
1321A - Contest for Robots
1451A - Subtract or Divide
1B - Spreadsheet
1177A - Digits Sequence (Easy Edition)
1579A - Casimir's String Solitaire
287B - Pipeline